import { message } from '@/components/XtxUI/Message'
import { http } from '@/utils/request'
import { defineStore } from 'pinia'
import type { CartList } from '@/types'
export const useCartStore = defineStore('cart', {
  // 状态
  state: () => ({
    // 购物车列表
    list: [] as CartList,
  }),
  // 计算
  getters: {},
  // 方法
  actions: {
    // 加入购物车
    async addCart(data: { skuId: string; count: number }) {
      const res = await http('/member/cart', 'POST', data)
      // 成功提示
      message({ type: 'success', text: '加入购物车成功' })
      // 加入成功后，主动获取服务器最新列表
      this.getCartList()
    },
    async getCartList() {
      // 已登录，调用接口
      const res = await http<CartList>('/member/cart', 'GET')
      // 保存购物车列表数据
      this.list = res.data.result
    },
  },
})
